import 'vue-router'
import type { RouteRecordRaw } from 'vue-router'
import layout from '@/layout/index.vue'
import netError from '@/views/sys/netError/index.vue'
import { FuncTyp } from '~/types/menu'

declare module 'vue-router' {
  interface RouteMeta {
    // 路由标题
    title?: string
    // 图标
    icon?: string
    // 是否在面包屑中隐藏
    breadcrumbHidden?: boolean
    // 是否在menu中隐藏
    hidden?: boolean
    // 是否在tabs上不可关闭
    noClosable?: boolean
    // 路由类型 菜单 目录 按钮
    FuncTyp?: FuncTyp
  }
}
export const basicsRoutes: RouteRecordRaw[] = [
  {
    path: '/',
    redirect: '/home'
  },
  // {
  //   path: '/asset-management',
  //   name: 'AssetManagement',
  //   meta: {
  //     title: '资产管理',
  //     icon: 'i-config',
  //     breadcrumbHidden: false,
  //     funcType: FuncTyp.CATALOGUE,
  //     hidden: false
  //   },
  //   component: layout,
  //   children: [
  //     {
  //       path: '/in-store',
  //       name: 'InStore',
  //       meta: {
  //         title: '资产入库',
  //         icon: 'i-config',
  //         breadcrumbHidden: false,
  //         hidden: false,
  //         funcType: FuncTyp.MENU
  //       },
  //       component: () =>
  //         import('@/views/asset-management/asset-in-store/index.vue')
  //     },
  //     {
  //       path: '/inventory',
  //       name: 'Inventory',
  //       meta: {
  //         title: '资产盘点',
  //         icon: 'i-config',
  //         breadcrumbHidden: false,
  //         hidden: false,
  //         funcType: FuncTyp.MENU
  //       },
  //       component: () =>
  //         import('@/views/asset-management/asset-inventory/index.vue')
  //     },
  //     {
  //       path: '/inventory-details',
  //       name: 'InventoryDetails',
  //       meta: {
  //         title: '盘点详情',
  //         icon: 'i-config',
  //         breadcrumbHidden: false,
  //         hidden: true,
  //         funcType: FuncTyp.MENU
  //       },
  //       component: () =>
  //         import(
  //           '@/views/asset-management/asset-inventory/components/inventory-details/index.vue'
  //         )
  //     }
  //   ]
  // },
  {
    path: '/homeMain',
    name: 'HomeMain',
    meta: {
      title: '首页',
      icon: 'i-home',
      breadcrumbHidden: true,
      hidden: false,
      funcType: FuncTyp.MENU
    },
    component: layout,
    children: [
      {
        path: '/home',
        name: 'Home',
        meta: {
          title: '首页',
          icon: 'i-home',
          hidden: false,
          noClosable: true
        },
        component: () => import('@/views/home/index.vue')
      }
    ]
  },
  // {
  //   path: '/task',
  //   name: 'Task',
  //   meta: {
  //     title: '申请审核',
  //     icon: 'i-home',
  //     breadcrumbHidden: false,
  //     hidden: false,
  //     funcType: FuncTyp.MENU
  //   },
  //   component: layout,
  //   children: [
  //     {
  //       path: '/taskPage',
  //       name: 'TaskPage',
  //       meta: {
  //         title: '申请审核',
  //         icon: 'i-home',
  //         hidden: false,
  //         noClosable: false
  //       },
  //       component: () => import('@/views/task/index.vue')
  //     }
  //   ]
  // },
  // {
  //   path: '/work-flow',
  //   name: 'WorkFlow',
  //   meta: {
  //     title: '工作流',
  //     icon: 'i-config',
  //     breadcrumbHidden: false,
  //     hidden: false,
  //     funcType: FuncTyp.CATALOGUE
  //   },
  //   component: layout,
  //   children: [
  //     {
  //       path: '/budget',
  //       name: 'Budget',
  //       meta: {
  //         title: '预算管理',
  //         icon: 'i-config',
  //         breadcrumbHidden: false,
  //         hidden: false,
  //         funcType: FuncTyp.MENU
  //       },
  //       component: () => import('@/views/workflow/budget/index.vue')
  //     },
  //     {
  //       path: '/purchase',
  //       name: 'Purchase',
  //       meta: {
  //         title: '采购管理',
  //         icon: 'i-config',
  //         breadcrumbHidden: false,
  //         hidden: false,
  //         funcType: FuncTyp.MENU
  //       },
  //       component: () => import('@/views/workflow/purchase/index.vue')
  //     },
  //     {
  //       path: '/fix',
  //       name: 'Fix',
  //       meta: {
  //         title: '维修管理',
  //         icon: 'i-config',
  //         breadcrumbHidden: false,
  //         hidden: false,
  //         funcType: FuncTyp.MENU
  //       },
  //       component: () => import('@/views/workflow/fix/index.vue')
  //     },
  //     {
  //       path: '/receive',
  //       name: 'Receive',
  //       meta: {
  //         title: '领用管理',
  //         icon: 'i-config',
  //         breadcrumbHidden: false,
  //         hidden: false,
  //         funcType: FuncTyp.MENU
  //       },
  //       component: () => import('@/views/workflow/receive/index.vue')
  //     },
  //     {
  //       path: '/borrow',
  //       name: 'Borrow',
  //       meta: {
  //         title: '借用管理',
  //         icon: 'i-config',
  //         breadcrumbHidden: false,
  //         hidden: false,
  //         funcType: FuncTyp.MENU
  //       },
  //       component: () => import('@/views/workflow/borrow/index.vue')
  //     },
  //     {
  //       path: '/allocate',
  //       name: 'Allocate',
  //       meta: {
  //         title: '调拨管理',
  //         icon: 'i-config',
  //         breadcrumbHidden: false,
  //         hidden: false,
  //         funcType: FuncTyp.MENU
  //       },
  //       component: () => import('@/views/workflow/allocate/index.vue')
  //     },
  //     {
  //       path: '/scrap',
  //       name: 'Scrap',
  //       meta: {
  //         title: '报废管理',
  //         icon: 'i-config',
  //         breadcrumbHidden: false,
  //         hidden: false,
  //         funcType: FuncTyp.MENU
  //       },
  //       component: () => import('@/views/workflow/scrap/index.vue')
  //     },
  //     {
  //       path: '/easter',
  //       name: 'Easter',
  //       meta: {
  //         title: '资产复活',
  //         icon: 'i-config',
  //         breadcrumbHidden: false,
  //         hidden: false,
  //         funcType: FuncTyp.MENU
  //       },
  //       component: () => import('@/views/workflow/easter/index.vue')
  //     }
  //   ]
  // },
  // {
  //   path: '/components',
  //   name: 'components',
  //   component: layout,
  //   meta: {
  //     title: '组件',
  //     icon: 'i-aiming',
  //     breadcrumbHidden: false,
  //     hidden: false,
  //     funcType: FuncTyp.CATALOGUE
  //   },
  //   children: [
  //     {
  //       path: '/table',
  //       name: 'table',
  //       meta: {
  //         title: '表格',
  //         breadcrumbHidden: false,
  //         hidden: false,
  //         funcType: FuncTyp.CATALOGUE
  //       },
  //       children: [
  //         {
  //           path: '/basic',
  //           name: 'basic',
  //           meta: {
  //             title: '基础用法',
  //             breadcrumbHidden: false,
  //             hidden: false,
  //             funcType: FuncTyp.MENU
  //           },
  //           component: () => import('@/views/components/table/basic/index.vue')
  //         },
  //         {
  //           path: '/slots',
  //           name: 'slots',
  //           meta: {
  //             title: '插槽',
  //             breadcrumbHidden: false,
  //             hidden: false,
  //             funcType: FuncTyp.MENU
  //           },
  //           component: () => import('@/views/components/table/slots/index.vue')
  //         },
  //         {
  //           path: '/style',
  //           meta: {
  //             title: '表格样式',
  //             breadcrumbHidden: false,
  //             hidden: false,
  //             funcType: FuncTyp.CATALOGUE
  //           },
  //           children: [
  //             {
  //               path: '/style/one',
  //               name: 'StyleOne',
  //               meta: {
  //                 title: '样式一',
  //                 breadcrumbHidden: false,
  //                 hidden: false,
  //                 funcType: FuncTyp.MENU
  //               },
  //               component: () =>
  //                 import('@/views/components/table/style/one/index.vue')
  //             },
  //             {
  //               path: '/style/two',
  //               name: 'StyleTwo',
  //               meta: {
  //                 title: '样式二',
  //                 breadcrumbHidden: false,
  //                 hidden: false,
  //                 funcType: FuncTyp.MENU
  //               },
  //               component: () =>
  //                 import('@/views/components/table/style/two/index.vue')
  //             },
  //             {
  //               path: '/style/three',
  //               name: 'StyleThree',
  //               meta: {
  //                 title: '样式三',
  //                 breadcrumbHidden: false,
  //                 hidden: false,
  //                 funcType: FuncTyp.MENU
  //               },
  //               component: () =>
  //                 import('@/views/components/table/style/three/index.vue')
  //             },
  //             {
  //               path: '/style/four',
  //               name: 'StyleFour',
  //               meta: {
  //                 title: '样式四',
  //                 breadcrumbHidden: false,
  //                 hidden: false
  //               },
  //               component: () =>
  //                 import('@/views/components/table/style/four/index.vue')
  //             }
  //           ]
  //         },
  //         {
  //           path: '/noTotal',
  //           name: 'noTotal',
  //           meta: {
  //             title: '无总页数表格',
  //             breadcrumbHidden: false,
  //             hidden: false,
  //             funcType: FuncTyp.MENU
  //           },
  //           component: () =>
  //             import('@/views/components/table/noTotal/index.vue')
  //         }
  //       ]
  //     },
  //     {
  //       path: '/modal',
  //       name: 'modal',
  //       meta: {
  //         title: '弹窗扩展',
  //         breadcrumbHidden: false,
  //         hidden: false
  //       },

  //       component: () => import('@/views/components/modal/index.vue')
  //     },
  //     {
  //       path: '/editor',
  //       name: 'editor',
  //       meta: {
  //         title: '富文本',
  //         breadcrumbHidden: false,
  //         hidden: false,
  //         funcType: FuncTyp.CATALOGUE
  //       },
  //       children: [
  //         {
  //           path: '/wangEditor',
  //           name: 'wangEditor',
  //           meta: {
  //             title: 'wangEditor',
  //             breadcrumbHidden: false,
  //             hidden: false
  //           },
  //           component: () => import('@/views/components/editor/wangEditor.vue')
  //         },
  //         {
  //           path: '/tinymce',
  //           name: 'tinymce',
  //           meta: {
  //             title: 'tinymce',
  //             breadcrumbHidden: false,
  //             hidden: false
  //           },
  //           component: () => import('@/views/components/editor/tinymce.vue')
  //         }
  //       ]
  //     },
  //     {
  //       path: '/echarts',
  //       name: 'echarts',
  //       meta: {
  //         title: 'echarts',
  //         breadcrumbHidden: false,
  //         hidden: false
  //       },
  //       component: () => import('@/views/components/echarts/index.vue')
  //     },
  //     {
  //       path: '/hScroll',
  //       name: 'hScroll',
  //       meta: {
  //         title: '横向滚动',
  //         breadcrumbHidden: false,
  //         hidden: false
  //       },
  //       component: () => import('@/views/components/hScroll/index.vue')
  //     },
  //     {
  //       path: '/iframe',
  //       name: 'iframe',
  //       meta: {
  //         title: 'iframe',
  //         breadcrumbHidden: false,
  //         hidden: false
  //       },
  //       component: () => import('@/views/components/iframe/index.vue')
  //     },
  //     {
  //       path: '/icon',
  //       name: 'icon',
  //       meta: {
  //         title: '图标',
  //         breadcrumbHidden: false,
  //         hidden: false,
  //         funcType: FuncTyp.CATALOGUE
  //       },
  //       children: [
  //         {
  //           path: '/iconList',
  //           name: 'iconList',
  //           meta: {
  //             title: '图标库',
  //             breadcrumbHidden: false,
  //             hidden: false
  //           },
  //           component: () => import('@/views/components/icon/icon-list.vue')
  //         },
  //         {
  //           path: '/iconSelect',
  //           name: 'iconSelect',
  //           meta: {
  //             title: '图标选择器',
  //             breadcrumbHidden: false,
  //             hidden: false
  //           },
  //           component: () => import('@/views/components/icon/icon-select.vue')
  //         }
  //       ]
  //     },
  //     {
  //       path: '/form',
  //       name: 'form',
  //       meta: {
  //         title: 'form表单',
  //         icon: 'i-config',
  //         breadcrumbHidden: false,
  //         hidden: false
  //       },
  //       component: () => import('@/views/components/form/index.vue')
  //     },
  //     {
  //       path: '/passwordTips',
  //       name: 'passwordTips',
  //       meta: {
  //         title: '密码提示',
  //         icon: 'i-config',
  //         breadcrumbHidden: false,
  //         hidden: false
  //       },
  //       component: () => import('@/views/components/password-tip/index.vue')
  //     },
  //     {
  //       path: '/noData',
  //       name: 'noData',
  //       meta: {
  //         title: '无内容',
  //         icon: 'i-config',
  //         breadcrumbHidden: false,
  //         hidden: false
  //       },
  //       component: () => import('@/views/components/noData/index.vue')
  //     },
  //     {
  //       path: '/print',
  //       name: 'print',
  //       meta: {
  //         title: '打印',
  //         icon: 'i-config',
  //         breadcrumbHidden: false,
  //         hidden: false
  //       },
  //       component: () => import('@/views/components/print/index.vue')
  //     },
  //     {
  //       path: '/timeLine',
  //       name: 'timeLine',
  //       meta: {
  //         title: '时间线',
  //         icon: 'i-config',
  //         breadcrumbHidden: false,
  //         hidden: false
  //       },
  //       component: () => import('@/views/components/timeLine/index.vue')
  //     },
  //     {
  //       path: '/mittTest',
  //       name: 'mittTest',
  //       meta: {
  //         title: '事件总线',
  //         breadcrumbHidden: false,
  //         hidden: false
  //       },
  //       component: () => import('@/views/components/bus/index.vue')
  //     },
  //     {
  //       path: '/authCodeBtn',
  //       name: 'authCodeBtn',
  //       meta: {
  //         title: '验证码倒计时',
  //         breadcrumbHidden: false,
  //         hidden: false
  //       },
  //       component: () => import('@/views/components/authCodeBtn/index.vue')
  //     },
  //     {
  //       path: '/file-view',
  //       name: 'fileView',
  //       meta: {
  //         title: '文件展示',
  //         breadcrumbHidden: false,
  //         hidden: false
  //       },
  //       component: () => import('@/views/components/file-view/index.vue')
  //     },
  //     {
  //       path: '/file-view-turn',
  //       name: 'turnDemo',
  //       meta: {
  //         title: '翻书效果',
  //         breadcrumbHidden: false,
  //         hidden: false
  //       },
  //       component: () => import('@/views/components/turn/index.vue')
  //     },
  //     {
  //       path: '/watermark',
  //       name: 'watermark',
  //       meta: {
  //         title: '水印',
  //         breadcrumbHidden: false,
  //         hidden: false
  //       },
  //       component: () => import('@/views/components/watermark/index.vue')
  //     },
  //     {
  //       path: '/qr-code',
  //       name: 'qrCode',
  //       meta: {
  //         title: '二维码',
  //         breadcrumbHidden: false,
  //         hidden: false
  //       },
  //       component: () => import('@/views/components/qr-code/index.vue')
  //     },
  //     {
  //       path: '/dialog',
  //       name: 'dialog',
  //       meta: {
  //         title: '弹窗',
  //         breadcrumbHidden: false,
  //         hidden: false
  //       },
  //       component: () => import('@/views/components/dialog/index.vue')
  //     },
  //     {
  //       path: '/upload',
  //       name: 'upload',
  //       meta: {
  //         title: '文件上传',
  //         breadcrumbHidden: false,
  //         hidden: false
  //       },
  //       component: () => import('@/views/components/upload/index.vue')
  //     }
  //   ]
  // },
  // {
  //   path: '/sys',
  //   name: 'System',
  //   meta: {
  //     title: '系统设置',
  //     icon: 'i-config',
  //     breadcrumbHidden: false,
  //     funcType: FuncTyp.CATALOGUE,
  //     hidden: false
  //   },
  //   component: layout,
  //   children: [
  //     {
  //       path: '/menu',
  //       name: 'Menu',
  //       meta: {
  //         title: '菜单设置',
  //         icon: 'i-config',
  //         breadcrumbHidden: false,
  //         hidden: false,
  //         funcType: FuncTyp.MENU
  //       },
  //       component: () => import('@/views/sys/menu/index.vue')
  //     },
  //     {
  //       path: '/role',
  //       name: 'Role',
  //       meta: {
  //         title: '角色管理',
  //         icon: 'i-config',
  //         breadcrumbHidden: false,
  //         hidden: false,
  //         funcType: FuncTyp.MENU
  //       },
  //       component: () => import('@/views/sys/role/index.vue')
  //     },
  //     {
  //       path: '/user',
  //       name: 'User',
  //       meta: {
  //         title: '用户管理',
  //         icon: 'i-config',
  //         breadcrumbHidden: false,
  //         hidden: false,
  //         funcType: FuncTyp.MENU
  //       },
  //       component: () => import('@/views/sys/user/index.vue')
  //     },
  //     {
  //       path: '/warehouse',
  //       name: 'Warehouse',
  //       meta: {
  //         title: '仓库管理',
  //         icon: 'i-config',
  //         breadcrumbHidden: false,
  //         hidden: false,
  //         funcType: FuncTyp.MENU
  //       },
  //       component: () => import('@/views/sys/warehouse/index.vue')
  //     }
  //     // {
  //     //   path: '/dict',
  //     //   name: 'DictList',
  //     //   meta: {
  //     //     title: '字典管理',
  //     //     icon: 'i-config',
  //     //     breadcrumbHidden: false,
  //     //     hidden: false
  //     //   },
  //     //   component: () => import('@/views/sys/dict/dict-list/index.vue')
  //     // },
  //     // {
  //     //   path: '/dict-data',
  //     //   name: 'DictDataList',
  //     //   meta: {
  //     //     title: '字典数据',
  //     //     icon: 'i-config',
  //     //     breadcrumbHidden: false,
  //     //     hidden: true
  //     //   },
  //     //   component: () => import('@/views/sys/dict/dict-data/index.vue')
  //     // }
  //   ]
  // },
  {
    path: '/login',
    component: () => import('@/views/login/index.vue')
  },
  // {
  //   path: '/userDetails',
  //   component: layout,
  //   children: [
  //     {
  //       path: '/userDetails',
  //       name: 'UserDetails',
  //       meta: {
  //         title: '个人中心',
  //         icon: 'i-user',
  //         breadcrumbHidden: true,
  //         hidden: false,
  //         funcType: FuncTyp.MENU
  //       },
  //       component: () => import('@/views/sys/userDetails/index.vue')
  //     }
  //   ]
  // },
  {
    path: '/404',
    component: () => import('@/views/sys/notFound/index.vue')
  },
  {
    path: '/netError',
    component: netError
  }
]

export default basicsRoutes
